Adding some more judges, here and there.
[and.git] / ICPC Live Archive / 3928 - Ballroom lights / help / gomox.ar-pap-2010-d9b17e5cb110 / tpc / doc / caratula.sty
blob7d4a979dbd5f92f677fcf6f4b1735a1dd2e311d6
1 % **************************************************************************
3 % Package 'caratula', version 0.3 (para componer caratulas de TPs del DC).
5 % En caso de dudas, problemas o sugerencias sobre este package escribir a
6 % Brian J. Cardiff (bcardif arroba gmail.com).
7 % Nico Rosner (nrosner arroba dc.uba.ar).
9 % **************************************************************************
11 % ----- Informacion sobre el package para el sistema -----------------------
13 \NeedsTeXFormat{LaTeX2e}
14 \ProvidesPackage{caratula}[2005/08/09 v0.4 Para componer caratulas de TPs del DC]
15 \RequirePackage{ifthen}
16 \usepackage[pdftex]{graphicx}
18 % ----- Imprimir un mensajito al procesar un .tex que use este package -----
20 \typeout{Cargando package 'caratula' v0.4 (2006/09/29)}
22 % ----- Algunas variables --------------------------------------------------
24 \let\Materia\relax
25 \let\Submateria\relax
26 \let\Titulo\relax
27 \let\Subtitulo\relax
28 \let\Grupo\relax
29 \let\Fecha\relax
30 \let\Logoimagefile\relax
31 \let\Resumen\relax
32 \newcommand{\LabelIntegrantes}{}
33 \newboolean{showLU}
34 \newboolean{showDirectores}
36 % ----- Comandos para que el usuario defina las variables ------------------
38 \def\materia#1{\def\Materia{#1}}
39 \def\submateria#1{\def\Submateria{#1}}
40 \def\titulo#1{\def\Titulo{#1}}
41 \def\subtitulo#1{\def\Subtitulo{#1}}
42 \def\grupo#1{\def\Grupo{#1}}
43 \def\fecha#1{\def\Fecha{#1}}
44 \def\logoimagefile#1{\def\Logoimagefile{#1}}
45 \def\resumen#1{\def\Resumen{#1}}
47 % ----- Token list para los integrantes ------------------------------------
49 \newtoks\intlist\intlist={}
51 \newtoks\intlistSinLU\intlistSinLU={}
53 \newcounter{integrantesCount}
54 \setcounter{integrantesCount}{0}
55 \newtoks\intTabNombre\intTabNombre={}
56 \newtoks\intTabLU\intTabLU={}
57 \newtoks\intTabEmail\intTabEmail={}
59 \newcounter{directoresCount}
60 \setcounter{directoresCount}{0}
61 \newtoks\direcTabNombre\direcTabNombre={}
62 \newtoks\direcTabEmail\direcTabEmail={}
64 % ----- Comando para que el usuario agregue integrantes --------------------
66 \def\integrante#1#2#3{%
67 \intlist=\expandafter{\the\intlist\rule{0pt}{1.2em}#1&#2&\tt #3\\[0.2em]}%
68 \intlistSinLU=\expandafter{\the\intlistSinLU\rule{0pt}{1.2em}#1 & \tt #3\\[0.2em]}%
70 \ifthenelse{\value{integrantesCount} > 0}{%
71 \intTabNombre=\expandafter{\the\intTabNombre & #1}%
72 \intTabLU=\expandafter{\the\intTabLU & #2}%
73 \intTabEmail=\expandafter{\the\intTabEmail & \tt #3}%
75 \intTabNombre=\expandafter{\the\intTabNombre #1}%
76 \intTabLU=\expandafter{\the\intTabLU #2}%
77 \intTabEmail=\expandafter{\the\intTabEmail \tt #3}%
79 \addtocounter{integrantesCount}{1}%
82 \def\director#1#2{%
83 \ifthenelse{\value{directoresCount} > 0}{%
84 \direcTabNombre=\expandafter{\the\direcTabNombre & #1}%
85 \direcTabEmail=\expandafter{\the\direcTabEmail & \tt #2}%
87 \direcTabNombre=\expandafter{\the\direcTabNombre #1}%
88 \direcTabEmail=\expandafter{\the\direcTabEmail \tt #2}%
90 \addtocounter{directoresCount}{1}%
93 % ----- Macro para generar la tabla de integrantes -------------------------
95 \newcommand{\tablaIntegrantes}{\ }
97 \newcommand{\tablaIntegrantesVertical}{%
98 \ifthenelse{\boolean{showLU}}{%
99 \begin{tabular}[t]{| l @{\hspace{4ex}} c @{\hspace{4ex}} l|}
100 \hline
101 \multicolumn{1}{|c}{\rule{0pt}{1.2em} \LabelIntegrantes} & LU & \multicolumn{1}{c|}{Correo electr\'onico} \\[0.2em]
102 \hline \hline
103 \the\intlist
104 \hline
105 \end{tabular}
107 \begin{tabular}[t]{| l @{\hspace{4ex}} @{\hspace{4ex}} l|}
108 \hline
109 \multicolumn{1}{|c}{\rule{0pt}{1.2em} \LabelIntegrantes} & \multicolumn{1}{c|}{Correo electr\'onico} \\[0.2em]
110 \hline \hline
111 \the\intlistSinLU
112 \hline
113 \end{tabular}
117 \newcommand{\tablaIntegrantesHorizontal}{%
118 \begin{tabular}[t]{ *{\value{integrantesCount}}{c} }
119 \the\intTabNombre \\%
120 \ifthenelse{\boolean{showLU}}{
121 \the\intTabLU \\%
123 \the\intTabEmail %
124 \end{tabular}%
127 \newcommand{\tablaDirectores}{%
128 \ifthenelse{\boolean{showDirectores}}{%
129 \bigskip
130 Directores
132 \smallskip
133 \begin{tabular}[t]{ *{\value{directoresCount}}{c} }
134 \the\direcTabNombre \\%
135 \the\direcTabEmail %
136 \end{tabular}%
137 }{}%
140 % ----- Codigo para manejo de errores --------------------------------------
142 \def\se{\let\ifsetuperror\iftrue}
143 \def\ifsetuperror{%
144 \let\ifsetuperror\iffalse
145 \ifx\Materia\relax\se\errhelp={Te olvidaste de proveer una \materia{}.}\fi
146 \ifx\Titulo\relax\se\errhelp={Te olvidaste de proveer un \titulo{}.}\fi
147 \edef\mlist{\the\intlist}\ifx\mlist\empty\se%
148 \errhelp={Tenes que proveer al menos un \integrante{nombre}{lu}{email}.}\fi
149 \expandafter\ifsetuperror}
152 % ----- \maketitletxt correspondiente a la versión v0.2.1 (texto v0.2 + fecha ) ---------
154 \def\maketitletxt{%
155 \ifsetuperror\errmessage{Faltan datos de la caratula! Ingresar 'h' para mas informacion.}\fi
156 \thispagestyle{empty}
157 \begin{center}
158 \vspace*{\stretch{2}}
159 {\LARGE\textbf{\Materia}}\\[1em]
160 \ifx\Submateria\relax\else{\Large \Submateria}\\[0.5em]\fi
161 \ifx\Fecha\relax\else{\Large \Fecha}\\[0.5em]\fi
162 \par\vspace{\stretch{1}}
163 {\large Departamento de Computaci\'on}\\[0.5em]
164 {\large Facultad de Ciencias Exactas y Naturales}\\[0.5em]
165 {\large Universidad de Buenos Aires}
166 \par\vspace{\stretch{3}}
167 {\Large \textbf{\Titulo}}\\[0.8em]
168 {\Large \Subtitulo}
169 \par\vspace{\stretch{3}}
170 \ifx\Grupo\relax\else\textbf{\Grupo}\par\bigskip\fi
171 \tablaIntegrantes
172 \end{center}
173 \vspace*{\stretch{3}}
174 \newpage}
176 % ----- \maketitletxtlogo correspondiente v0.2.1 (texto con fecha y logo) ---------
178 \def\maketitletxtlogo{%
179 \ifsetuperror\errmessage{Faltan datos de la caratula! Ingresar 'h' para mas informacion.}\fi
180 \thispagestyle{empty}
181 \begin{center}
182 \ifx\Logoimagefile\relax\else\includegraphics{\Logoimagefile}\fi \hfill \includegraphics{./figuras/logo_dc.jpg}\\[1em]
183 \vspace*{\stretch{2}}
184 {\LARGE\textbf{\Materia}}\\[1em]
185 \ifx\Submateria\relax\else{\Large \Submateria}\\[0.5em]\fi
186 \ifx\Fecha\relax\else{\large \Fecha}\\[0.5em]\fi
187 \par\vspace{\stretch{1}}
188 {\large Departamento de Computaci\'on}\\[0.5em]
189 {\large Facultad de Ciencias Exactas y Naturales}\\[0.5em]
190 {\large Universidad de Buenos Aires}
191 \par\vspace{\stretch{3}}
192 {\Large \textbf{\Titulo}}\\[0.8em]
193 {\Large \Subtitulo}
194 \par\vspace{\stretch{3}}
195 \ifx\Grupo\relax\else\textbf{\Grupo}\par\bigskip\fi
196 \tablaIntegrantes
197 \end{center}
198 \vspace*{\stretch{4}}
199 \newpage}
201 % ----- \maketitlegraf correspondiente a la versión v0.3 (gráfica) -------------
203 \def\maketitlegraf{%
204 \ifsetuperror\errmessage{Faltan datos de la caratula! Ingresar 'h' para mas informacion.}\fi
206 \thispagestyle{empty}
208 \ifx\Logoimagefile\relax\else\includegraphics{\Logoimagefile}\fi \hfill \includegraphics{./figuras/logo_dc.jpg}
210 \vspace*{.12 \textheight}
212 \noindent \textbf{\huge \Titulo} \medskip \\
213 \ifx\Subtitulo\relax\else\noindent\textbf{\large \Subtitulo} \\ \fi%
214 \noindent \rule{\textwidth}{1 pt}
216 {\noindent\large\Fecha \hspace*\fill \Materia} \\
217 \ifx\Submateria\relax\else{\noindent \hspace*\fill \Submateria}\fi%
219 \medskip%
220 \begin{center}
221 \ifx\Grupo\relax\else\textbf{\Grupo}\par\bigskip\fi
222 \tablaIntegrantes
224 \tablaDirectores
225 \end{center}%
226 \vfill%
227 % \begin{abstract}
228 \small{\Resumen}
229 %\end{abstract}
231 \begin{minipage}[t]{\textwidth}
232 \begin{minipage}[t]{.55 \textwidth}
233 \includegraphics{./figuras/logo_uba.jpg}
234 \end{minipage}%%
235 \begin{minipage}[b]{.5 \textwidth}
236 \textbf{\textsf{Facultad de Ciencias Exactas y Naturales}} \\
237 \textsf{Universidad de Buenos Aires} \\
238 {\scriptsize %
239 Ciudad Universitaria - (Pabell\'on I/Planta Baja) \\
240 Intendente G\"uiraldes 2160 - C1428EGA \\
241 Ciudad Aut\'onoma de Buenos Aires - Rep. Argentina \\
242 Tel/Fax: (54 11) 4576-3359 \\
243 http://www.fcen.uba.ar \\
245 \end{minipage}
246 \end{minipage}%
248 \newpage}
250 % ----- Reemplazamos el comando \maketitle de LaTeX con el nuestro ---------
251 \renewcommand{\maketitle}{\maketitlegraf}
253 % ----- Dependiendo de las opciones ---------
255 % opciones:
256 % txt : caratula solo texto.
257 % txtlogo : caratula txt con logo del DC y del grupo (opcional).
258 % graf : (default) caratula grafica con logo del DC, UBA y del grupo (opcional).
260 \@makeother\*% some package redefined it as a letter (as color.sty)
262 % Layout general de la caratula
264 \DeclareOption{txt}{\renewcommand{\maketitle}{\maketitletxt}}
265 \DeclareOption{txtlogo}{\renewcommand{\maketitle}{\maketitletxtlogo}}
266 \DeclareOption{graf}{\renewcommand{\maketitle}{\maketitlegraf}}
268 % Etiqueta Autores o Integrantes
270 \DeclareOption{integrante}{\renewcommand{\LabelIntegrantes}{Integrante}}
271 \DeclareOption{autor}{\renewcommand{\LabelIntegrantes}{Autor}}
273 % Formato tabla de integrantes
275 \DeclareOption{intVert}{\renewcommand{\tablaIntegrantes}{\tablaIntegrantesVertical}}
276 \DeclareOption{intHoriz}{\renewcommand{\tablaIntegrantes}{\tablaIntegrantesHorizontal}}
277 \DeclareOption{conLU}{\setboolean{showLU}{true}}
278 \DeclareOption{sinLU}{\setboolean{showLU}{false}}
279 \DeclareOption{showDirectores}{\setboolean{showDirectores}{true}}
280 \DeclareOption{hideDirectores}{\setboolean{showDirectores}{false}}
282 % Opciones predeterminadas
284 \ExecuteOptions{intVert}%
285 \ExecuteOptions{graf}%
286 \ExecuteOptions{integrante}%
287 \ExecuteOptions{conLU}%
288 \ExecuteOptions{hideDirectores}%
290 \ProcessOptions\relax